A key-sharing network is a network in which a plurality of nodes is connected to each other through a plurality of links. Each node has a function of generating and sharing a random number between itself and a correspondent node connected thereto through a link, and a function of performing encryption communication on the link by using the random number as an encryption key (hereinafter, referred to as “link key”). Some of these nodes have a function of generating an encryption key (hereinafter, referred to as “application key”) which is a different random number from the link key, and a function of transmitting the application key to another node on a link.
An application in the key-sharing network has a function of acquiring an application key from the node and performing encrypted data communication with another application by using the application key. The encrypted data communication can be performed over a network (hereinafter, referred to as application network) different from the key-sharing network.
The application that acquires the application key from the node included in the key-sharing network needs to set a key use of the application key in advance. For example, information concerning a key length and a key ID which are used in an encryption algorithm (for example, Advanced Encryption Standard [AES], Data Encryption Standard [DES], and the like) and information concerning an ID which is used in an authentication algorithm need to be set in both communicating applications in advance. Such presetting is impractical in a network having a plurality of applications communicating each other.